package com.gzx.plugin.website.center.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gzx.plugin.website.center.entity.bo.GzxWebsiteCenterAddBo;
import com.gzx.plugin.website.center.entity.bo.GzxWebsiteCenterQueryBo;
import com.gzx.plugin.website.center.entity.vo.GzxWebsiteCenterVo;

import java.util.Collection;
import java.util.List;

/**
 * @author zjt
 * @description
 * @since 2025/1/8 16:49
 */
public interface GzxWebsiteCenterService {
    /**
     * 查询调解中心
     *
     * @param id 主键
     * @return 调解中心
     */
    GzxWebsiteCenterVo queryById(Long id);

    /**
     * 分页查询调解中心列表
     *
     * @param bo 查询条件
     * @return 调解中心分页列表
     */
    Page<GzxWebsiteCenterVo> pageList(GzxWebsiteCenterQueryBo queryBo);

    /**
     * 查询符合条件的调解中心列表
     *
     * @param addBo 查询条件
     * @return 调解中心列表
     */
    List<GzxWebsiteCenterVo> queryList(GzxWebsiteCenterQueryBo addBo);

    /**
     * 新增调解中心
     *
     * @param bo 调解中心
     * @return 是否新增成功
     */
    void insertByBo(GzxWebsiteCenterAddBo bo);

    /**
     * 修改调解中心
     *
     * @param bo 调解中心
     * @return 是否修改成功
     */
    void updateByBo(GzxWebsiteCenterAddBo bo);

    /**
     * 校验并批量删除调解中心信息
     *
     * @param ids     待删除的主键集合
     * @param isValid 是否进行有效性校验
     * @return 是否删除成功
     */
    void deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
